module.exports = function (reporter, definition) {
  reporter.documentStore.registerComplexType('LibreOfficeType', {
    format: { type: 'Edm.String' },
    enabled: { type: 'Edm.Boolean' },
    print: { type: 'Edm.String' },
    /* general */
    pdfExportPageRange: { type: 'Edm.String' },
    pdfExportUseLosslessCompression: { type: 'Edm.Boolean' },
    pdfExportQuality: { type: 'Edm.Decimal' },
    pdfExportReduceImageResolution: { type: 'Edm.Boolean' },
    pdfExportMaxImageResolution: { type: 'Edm.Decimal' },
    pdfExportSelectPdfVersion: { type: 'Edm.Decimal' },
    pdfExportPDFUACompliance: { type: 'Edm.Boolean' },
    pdfExportUseTaggedPDF: { type: 'Edm.Boolean' },
    pdfExportExportFormFields: { type: 'Edm.Boolean' },
    pdfExportFormsType: { type: 'Edm.Decimal' },
    pdfExportAllowDuplicateFieldNames: { type: 'Edm.Boolean' },
    pdfExportExportBookmarks: { type: 'Edm.Boolean' },
    pdfExportExportPlaceholders: { type: 'Edm.Boolean' },
    pdfExportExportNotes: { type: 'Edm.Boolean' },
    pdfExportExportNotesPages: { type: 'Edm.Boolean' },
    pdfExportExportOnlyNotesPages: { type: 'Edm.Boolean' },
    pdfExportExportNotesInMargin: { type: 'Edm.Boolean' },
    pdfExportExportHiddenSlides: { type: 'Edm.Boolean' },
    pdfExportIsSkipEmptyPages: { type: 'Edm.Boolean' },
    pdfExportEmbedStandardFonts: { type: 'Edm.Boolean' },
    pdfExportIsAddStream: { type: 'Edm.Boolean' },
    pdfExportWatermark: { type: 'Edm.String' },
    pdfExportWatermarkColor: { type: 'Edm.Decimal' },
    pdfExportWatermarkFontHeight: { type: 'Edm.Decimal' },
    pdfExportWatermarkRotateAngle: { type: 'Edm.Decimal' },
    pdfExportWatermarkFontName: { type: 'Edm.String' },
    pdfExportTiledWatermark: { type: 'Edm.String' },
    pdfExportUseReferenceXObject: { type: 'Edm.Boolean' },
    pdfExportIsRedactMode: { type: 'Edm.Boolean' },
    pdfExportSinglePageSheets: { type: 'Edm.Boolean' },
    /* initial view */
    pdfExportResizeWindowToInitialPage: { type: 'Edm.Boolean' },
    pdfExportCenterWindow: { type: 'Edm.Boolean' },
    pdfExportOpenInFullScreenMode: { type: 'Edm.Boolean' },
    pdfExportDisplayPDFDocumentTitle: { type: 'Edm.Boolean' },
    pdfExportHideViewerMenubar: { type: 'Edm.Boolean' },
    pdfExportHideViewerToolbar: { type: 'Edm.Boolean' },
    pdfExportHideViewerWindowControls: { type: 'Edm.Boolean' },
    pdfExportUseTransitionEffects: { type: 'Edm.Boolean' },
    pdfExportOpenBookmarkLevels: { type: 'Edm.Decimal' },
    /* links */
    pdfExportExportBookmarksToPDFDestination: { type: 'Edm.Boolean' },
    pdfExportConvertOOoTargetToPDFTarget: { type: 'Edm.Boolean' },
    pdfExportExportLinksRelativeFsys: { type: 'Edm.Boolean' },
    pdfExportPDFViewSelection: { type: 'Edm.Decimal' },
    /* security */
    pdfExportEncryptFile: { type: 'Edm.Boolean' },
    pdfExportDocumentOpenPassword: { type: 'Edm.String' },
    pdfExportRestrictPermissions: { type: 'Edm.Boolean' },
    pdfExportPermissionPassword: { type: 'Edm.String' },
    pdfExportPrinting: { type: 'Edm.Decimal' },
    pdfExportChanges: { type: 'Edm.Decimal' },
    pdfExportEnableCopyingOfContent: { type: 'Edm.Boolean' },
    pdfExportEnableTextAccessForAccessibilityTools: { type: 'Edm.Boolean' },
    /* digital signatures */
    pdfExportSignPDF: { type: 'Edm.Boolean' },
    pdfExportSignatureLocation: { type: 'Edm.String' },
    pdfExportSignatureReason: { type: 'Edm.String' },
    pdfExportSignatureContactInfo: { type: 'Edm.String' },
    pdfExportSignaturePassword: { type: 'Edm.String' },
    pdfExportSignCertificateSubjectName: { type: 'Edm.String' },
    pdfExportSignatureTSA: { type: 'Edm.String' }
  })

  reporter.documentStore.model.entityTypes.TemplateType.libreOffice = { type: 'jsreport.LibreOfficeType' }
}
